package com.baixun.gassystem.mapper;

import com.baixun.gasentity.dto.AlarmDTO;
import com.baixun.gasentity.dto.AlarmStatisticsDTO;
import com.baixun.gasentity.dto.AlarmTrendDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @program: 上海燃气驾驶舱
 * @description: 报警列表
 * @author: yesong
 **/

@Mapper
public interface AlarmMapper {

    /**
     * 报警列表分页查询
     */
    List<AlarmDTO> selectAlarmList(AlarmDTO requestDTO);

    /**
     * 无人机列表
     */
    // TODO 除了无人机已经全部修改完 缺少无人机类型和飞行路线
    List<AlarmDTO> selectUavTypeList(AlarmDTO requestDTO);

    /**
     * 执法仪列表
     */
    List<AlarmDTO> selectFaList(AlarmDTO requestDTO);
//----------------------------------------------------------------------------------报警统计------------------------------------------------------------------------
    /**
     * 报警统计
     * @return
     */
    List<AlarmStatisticsDTO> getAlarmStatistics();

    /**
     * 视频报警统计
     */
    List<AlarmStatisticsDTO> getVideoStatistics();
    /**
     * 无人机报警统计
     */
    List<AlarmStatisticsDTO> getDroneStatistics();

    /**
     * 执法仪报警统计
     */
    List<AlarmStatisticsDTO> getFaStatistics();

    /**
     * 报警趋势
     */
    List<AlarmTrendDTO> getAlarmTrend(@Param("startTime") String startTime, @Param("endTime") String endTime);


    /**
     * 视频报警趋势
     */
    List<AlarmTrendDTO> getVideoTrend(@Param("startTime") String startTime, @Param("endTime") String endTime);

    /**
     * 无人机报警趋势
     */
    List<AlarmTrendDTO> getDroneTrend(@Param("startTime") String startTime, @Param("endTime") String endTime);


    /**
     * 执法仪报警趋势
     */
    List<AlarmTrendDTO> getFaTrend(@Param("startTime") String startTime, @Param("endTime") String endTime);
}
